Ext.namespace('pages.p2p.hPlan.planXmSq');

pages.p2p.hPlan.planXmSq.AddBaseXm = function(config) {
	Ext.apply(this, config);
	/** 操作类型 */
	this.operType = config.operType;
	this.qxMonth = config.qxMonth;
	this.initUIComponents();
	pages.p2p.hPlan.planXmSq.AddBaseXm.superclass.constructor.call(this);
};
Ext.extend(pages.p2p.hPlan.planXmSq.AddBaseXm, Ext.Window, {
			initUIComponents : function() {
				this.store = new Ext.data.Store({
							proxy : new Ext.data.HttpProxy({
										url : ExtJ
												.getActionPath('hPlan/listXmKu.do')
									}),
							remoteSort : true,
							reader : new Ext.data.JsonReader({
										root : 'data',
										totalProperty : 'total',
										id : 'ID'
									}, [{
												name : 'ID',
												mapping : 'ID'
											}, {
												name : 'XM_NAME',
												mapping : 'XM_NAME'
											}, {
												name : 'XM_NH_SYL',
												mapping : 'XM_NH_SYL'
											}, {
												name : 'XM_JE',
												mapping : 'XM_JE'
											}, {
												name : 'XM_QX_DAY',
												mapping : 'XM_QX_DAY'
											}, {
												name : 'XM_QX_MONTH',
												mapping : 'XM_QX_MONTH'
											}, {
												name : 'XM_ZT',
												mapping : 'XM_ZT'
											}, {
												name : 'XM_ORDER',
												mapping : 'XM_ORDER'
											}, {
												name : 'XM_TYPE',
												mapping : 'XM_TYPE'
											}, {
												name : 'XM_XYJB',
												mapping : 'XM_XYJB'
											}, {
												name : 'XM_JHJS',
												mapping : 'XM_JHJS'
											}, {
												name : 'XM_TBFW',
												mapping : 'XM_TBFW'
											}, {
												name : 'IS_USED',
												mapping : 'IS_USED'
											}, {
												name : 'XM_SS_GYH',
												mapping : 'XM_SS_GYH'
											}, {
												name : 'IN_KU_DATE',
												mapping : 'IN_KU_DATE'
											}, {
												name : 'SY',
												mapping : 'SY'
											}])
						});

				var sm = new Ext.grid.CheckboxSelectionModel({
							singleSelect : true

						});
				var cm = new Ext.grid.ColumnModel([sm,
						new Ext.grid.RowNumberer(), {
							header : '项目名称',
							width : 100,
							sortable : true,
							dataIndex : 'XM_NAME'
						}, {
							header : '年化收益率',
							width : 120,
							sortable : true,
							dataIndex : 'XM_NH_SYL'
						}, {
							header : '项目金额',
							width : 130,
							sortable : true,
							dataIndex : 'XM_JE'
						}, {
							header : '期限(天)',
							width : 130,
							sortable : true,
							dataIndex : 'XM_QX_DAY'
						}, {
							header : '期限(月)',
							width : 130,
							sortable : true,
							dataIndex : 'XM_QX_MONTH'
						}, {
							header : '项目状态',
							width : 80,
							sortable : true,
							dataIndex : 'XM_ZT',
							renderer : function(v) {
								if ('1' == v) {
                            return "待审核";
                        } else if ('2' == v) {
                            return "信审通过";
                        } else if ('3' == v) {
                            return "信审失败";
                        } else if ('4' == v) {
                            return "招标中";
                        } else if ('5' == v) {
                            return "已截标";
                        } else if ('6' == v) {
                            return "投标完成";
                        } else if ('7' == v) {
                            return "还款完成";
                        }
							}
						}, {
							header : '项目自定义编号',
							width : 80,
							sortable : true,
							dataIndex : 'XM_ORDER'
						}, {
							header : '项目类型',
							width : 80,
							sortable : true,
							dataIndex : 'XM_TYPE',
							renderer : function(v) {
								if ('01' == v) {
									return "信用";
								} else if ('02' == v) {
									return "抵押";
								} else if ('03' == v) {
									return "车贷";
								}
							}
						}, {
							header : '信用级别',
							width : 80,
							sortable : true,
							dataIndex : 'XM_XYJB'
						}, {
							header : '计划介绍',
							width : 90,
							sortable : true,
							dataIndex : 'XM_JHJS'
						}, {
							header : '投标范围',
							width : 130,
							sortable : true,
							dataIndex : 'XM_TBFW'
						}, {
							header : '是否可用',
							width : 60,
							sortable : true,
							dataIndex : 'IS_USED',
							renderer : function(v) {
								if ('00' == v) {
									return "可用";
								} else if ('01' == v) {
									return "不可用";
								}
							}
						}, {
							header : '所属员工员工号',
							width : 60,
							sortable : true,
							dataIndex : 'XM_SS_GYH'
						}, {
							header : '入库时间',
							width : 60,
							sortable : true,
							dataIndex : 'IN_KU_DATE'
						}]);

				/**
				 * GridPanel
				 */
				this.grid = new Ext.grid.GridPanel({
							id : 'grid_addt',
							region : 'center',
							store : this.store,
							border : true,
							frame : false,
							viewConfig : {
								autoFill : false,
								forceFit : false,
								focusRow : function() {
									return;
								},
								getRowClass : function(record, rowIndex,
										rowParams, store) {
									if (record.get("TOP_LEVEL") == "1") {
										return 'ux-grid-record-onTop';
									}
								}
							},
							sm : sm,
							cm : cm/*,
							bbar : new Ext.PagingToolbar({
										pageSize : pageSize,
										store : this.store,
										displayInfo : true,
										displayMsg : '当前显示第 {0} - {1} 条 / 共 {2} 条',
										emptyMsg : "没有记录"
									})*/
						});

				Ext.apply(this, {
							id : 'form_addcgt',
							title : '可组合项目选择',
							border : false,
							layout : 'border',
							style : {
								marginRight : 'auto',
								marginLeft : 'auto'
							},
							width : 900,
							height : 400,
							modal : true,
							items : [this.grid],
							listeners : {
								'render' : this.initData.createDelegate(this)
							},
							tbar : [{
										text : '保存选择',
										iconCls : 'save',
										handler : this.onSave
												.createDelegate(this)
									}, '-', {
										id : 'view',
										iconCls : 'view',
										text : '查看',
										handler : this.onView
												.createDelegate(this)
									}, '-', {
										text : '关闭',
										iconCls : 'close',
										handler : this.onCancel
												.createDelegate(this)
									}]
						});
			},
			initData : function() {
				this.onQuery()
			},
			onQuery : function() {
				this.store.baseParams.qxMonth = this.qxMonth;
				Ext.getBody().mask("正在查询,请稍候...");
				this.store.reload({
							params : {
								/*start : 0,
								limit : pageSize*/
							},
							callback : function(r, options, success) {
								if (success) {
									var count = Ext.getCmp('grid_add')
											.getStore().getCount();
									for (var i = 0; i < count; i++) {
										var id = Ext.getCmp('grid_add')
												.getStore().getAt(i).get('ID');
										var record = Ext.getCmp('grid_addt')
												.getStore().getById(id);
												console.info(record);
										Ext.getCmp('grid_addt').getStore()
												.remove(record);
									}
								}
								Ext.getBody().unmask(true);
							}
						});
			},
			onReset : function() {
				this.queryForm.getForm().reset();
			},
			onView : function() {
				var record = this.grid.getSelectionModel().getSelected();
				if (!record) {
					ExtJ.showMessage("请选择一条需要查看的记录!");
					return;
				}
				var win = new pages.p2p.hPlan.planXmSq.ViewBase({
							operType : 'view',
							record : record
						});
				win.show();
			},
			onSave : function() {
				var record = this.grid.getSelectionModel().getSelected();
				if (!record) {
					ExtJ.showMessage("请选择一条需要添加的项目!");
					return;
				}
				Ext.getCmp('grid_add').getStore().add(record);
				var sy = Ext.getCmp('grid_add').getStore().sum('SY');
				var sum = Ext.getCmp('grid_add').getStore().sum('XM_JE');
				Ext.getCmp('XMJE').setValue(sum);
				this.close();

			},
			onCancel : function() {
				this.close();
			}

		});